Digital content is growing at a rapid pace and secure distribution of digital content has quickly become a serious problem faced by digital content providers. The balance of usability and security is a difficult problem and the lack of specific hardware support further complicates the issue. Providers such as Apple, Amazon, WalMart and Bit Torrent have thus each resolved the security problems raised by distribution of digital content in different ways. A number of usability problems have cropped up as a result of these varying access restrictions that have been put in place by these distributors to protect the content from unauthorized copying. For example, Amazon's “Unbox” allows the user to view the content on only two computers and only via their proprietary player. Bit Torrent's restrictions, on the other hand, allow users to view its content on only one computer.
Many of these providers have implemented their proprietary access restrictions via some type of digital rights management (DRM) scheme to protect their digital content. DRM protection typically takes the form of encryption, and the decryption keys are made available to player software through various mechanisms. To allow offline viewing of the content, the keys need to be provisioned onto the end computer. These encryption-based schemes, however, have serious limitation. For example, if an attacker knows the specifics of the DRM scheme (e.g., encryption scheme used, key schedule used, the exact keys used, etc.) the attacker may easily break the DRM scheme and utilize the content in an unauthorized fashion (e.g., make illegal copies, distribute the content illegally, etc.). To counter these threats, content providers rely on security through obscurity. More specifically, they typically do not publish the specifics of the DRM scheme and they may also hide the master keys used in the DRM scheme via software obfuscation. These measures, however, raise other problems such as interoperability. Specifically in order for a content-protection scheme to be interoperable, the specifics of the DRM scheme have to be published. As such, providers may be forced to publish their schemes and rely solely on obscuring the master keys. Examples of such obfuscation mechanisms include the various software players that implement for HD-DVD and Blue Ray playback. As is demonstrated by the recent attacks on both of these media formats though, once the format is well-known, the hidden keys may always be extracted using various software-analysis techniques.